package com.meatball.iot.driver.doormagnet.enums

import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonValue

/**
 * TODO 门磁状态
 *
 * @author 张翔宇
 * @since 2024年6月18日
 */
enum class State(val value: Int) {
    CLOSE(0),
    OPEN(1),
    UNKNOWN_STATE(-1);

    companion object {
        @JvmStatic
        @JsonCreator
        fun fromValue(value: Int): State {
            return entries.firstOrNull { it.value == value } ?: UNKNOWN_STATE
        }
    }

    @JsonValue
    fun toValue(): Int {
        return value
    }
}